package com.ktg.mes.unit.sql.service;


import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ktg.mes.unit.sql.domain.*;

import java.util.List;
import java.util.Map;

/**
 * @Description: AOI上报数据
 * @Author: MxpIO
 * @Date:   2022-06-09
 * @Version: V1.0
 */
public interface SQLToolService extends IService<SQLToolModel> {

    public List<JSONObject> selectSqlMap(String selectSglString);

    public void updateSql(String updateSglString);

    public void insertSql(String insertSglString);

    public void insertModel(SQLToolModel sqlModel);

    public void updateModel(SQLToolModel sqlModel);

    public List<JSONObject> selectSqlModel(SQLToolModel sqlModel);

    /**
     * 跟新 排序
     * @param sqlModel
     * @return
     */
    public int updateSortModel(SQLSortModel sqlModel);

    /**
     * 根据数据和表获取 字段类型
     * @param dbName
     * @param tableName
     * @return
     */
    public Map<String, MTableColumn>  getColumType(SQLDBConfig config, String tableName);

    /**
     * 更新表和字段，更新关联Impl
     */
    public boolean updateAllTableColumn();


    /**
     * 获取表的字段信息
     * @param table
     * @return
     */
    public Map<String, MTableColumn> columnFrom(String table);

    /**
     * 获取表的信息
     * @param table
     * @return
     */
    public MTable tableFrom(String table);

}
